-
Notifications
You must be signed in to change notification settings - Fork 0
Add Netlify deployment, Qdrant integration with openSVM compatibility, and REST API for dynamic IDL management #12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Unable to perform a code review. You have run out of credits 😔 |
Co-authored-by: 0xrinegade <[email protected]>
|
@copilot lmao sorry i made a mistype, i meant integrate netlify, not netflix lol, please redo from scratch |
Co-authored-by: 0xrinegade <[email protected]>
Co-authored-by: 0xrinegade <[email protected]>
Done! I've redone this from scratch with:
All tests pass ✅ |
|
@copilot ok but idl must be a part of program model from opensvm? check its sources again aldrin-labs/opensvm, find models and import them here |
Co-authored-by: 0xrinegade <[email protected]>
Done! I've integrated the openSVM program model: Changes in commit (latest):
The database is now fully compatible with aldrin-labs/openSVM and can be shared between projects. ✅ |
|
@copilot ADD REST API AND DOCS HOW TO DYNAMICALLY LOAD/UPLOAD IDL/GITHUB |
Co-authored-by: 0xrinegade <[email protected]>
Done! Added REST API with comprehensive documentation: API Server (commit latest):
Documentation:
Start API: Example - Load from GitHub: curl -X POST http://localhost:3000/api/idl/load-from-github \
-H "Content-Type: application/json" \
-d '{
"owner": "coral-xyz",
"repo": "anchor",
"path": "idl.json",
"programId": "example",
"name": "Example"
}'All tests pass ✅ |
Summary
This PR integrates Netlify deployment configuration, Qdrant database support, and a comprehensive REST API for IDLHub, enabling one-click deployment, enhanced semantic search capabilities, and dynamic IDL loading/uploading from GitHub. The implementation uses the same ProgramMetadataEntry model from aldrin-labs/openSVM for full database compatibility.
Changes Made
Netlify Integration
netlify.toml: Complete Netlify configuration with:/mcpand/installendpoints to the installation scriptNETLIFY.md: Comprehensive deployment guide covering setup, configuration, and troubleshootingREADME.md: Added Deployment section with Netlify deploy button and instructionsQdrant Integration with openSVM Compatibility
@qdrant/js-client-restdependency (v1.13.0)lib/qdrant.js: Qdrant database utilities using aldrin-labs/openSVM ProgramMetadataEntry model:program_metadata,token_metadata,idl_cache(matching openSVM structure)idlfield of ProgramMetadataEntry)lib/types/program.ts: TypeScript types matching openSVM models:ProgramMetadataEntryinterface (exact match with openSVM)scripts/init-qdrant.js: Initialization script to populate Qdrant with program metadata including IDLs.env.example: Environment variable template for Qdrant configurationnpm run qdrant:initscript: Command to initialize Qdrant collectionslib/README.md: Documentation explaining openSVM compatibility and usageREST API for Dynamic IDL Management
express,cors,axiosfor API functionalityapi/server.js: Full-featured REST API server with:POST /api/idl/load-from-github- Load IDL directly from any GitHub repositoryPOST /api/idl/upload- Upload IDL directly with JSON payloadGET /api/programs- List all programs with filtering (category, status, search)GET /api/programs/:id- Get specific program detailsGET /api/programs/:id/idl- Get IDL for specific programGET /api/search- Semantic search using QdrantGET /api/qdrant/programs/:id- Get program from Qdrant with embedded IDLGET /api/docs- Interactive API documentationGET /health- Health check endpointapi/README.md: Complete API documentation with:api/QUICKSTART.md: Quick start guide with:npm run api:startandnpm run api:devto run the API serverindex.jsonand store in QdrantFeatures Enabled
/mcpendpoint for installation scriptTesting
API Usage Examples
Load IDL from GitHub:
Upload IDL directly:
This implementation provides production-ready deployment infrastructure, enhanced search capabilities, and a comprehensive REST API for dynamic IDL management while maintaining full compatibility with the aldrin-labs/openSVM database model.
Fixes #11
Original prompt
Fixes #11
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.